/**
 * 插件的刷新的原理
 * 1，让页面刷新
 * 2，dom加载完成后，检测是否含有某个元素，
 * 3，有也就停止刷新，
 * 4，没有，也一段时间后再次刷新 
 */

// 开始
function startFun(value,interval) {
  interval = setInterval(() => {
    window.location.reload()
    getElementFun(value,interval)
  }, 2000)
}
// 结束
function stopFun(interval) {
  clearInterval(interval)
  sessionStorage.removeItem("refresh")
}
// 获取dom上的元素
function getElementFun(value,interval) {
  let ele = document.querySelector(value)
  if (ele) {
    // 3.有也就停止刷新，
    stopFun(interval)
    // 发信给background.js
    chrome.runtime.sendMessage({
      type: 'find'
    })
  }
}
// dom 加载完成
window.onload = function () {
  let data = JSON.parse(sessionStorage.getItem("refresh")) || {}
  let interval = null
  if (data.type) {
    startFun(data.value,interval)
  }
  // 监听
  chrome.runtime.onMessage.addListener(function (message) {
    if (message.type === 'start') {
      // 储存刷新的刷条件数据
      sessionStorage.setItem("refresh", JSON.stringify(message))
      startFun(message.value,interval)
    }
    if (message.type === 'end') {
      // 停止刷新
      stopFun(interval)
    }
  })
}


